#pragma once
#include <queue>
#include <mutex>

class TaskQueue
{
private:
    std::queue<int> task_queue;
    std::mutex queue_mutex;
    std::condition_variable condition;

public:
    TaskQueue() {}
    ~TaskQueue() {}

    bool empty();
    size_t size();
    void push_queue(int task);
    void pop_queue(int task);
    void startTask(int task);
};